Git Reflog

இழந்த கமிட்டுகளை மீட்டெடுக்கவும் மற்றும் Git செயல்பாடுகளைக் கண்காணிக்கவும்

Git Reflog என்றால் என்ன?

git reflog கிளைகள் மற்றும் HEAD-இன் முனையில் புதுப்பிப்புகளை பதிவு செய்கிறது.

உங்கள் கிளை மற்றும் HEAD எங்கு இருந்தன என்பதைப் பார்க்க இது உங்களை அனுமதிக்கிறது, தவறாகச் செய்த மாற்றங்கள் கூட.

இழந்த கமிட்டுகளை மீட்டெடுக்க அல்லது ஒரு reset-ஐ இரத்து செய்ய இது பயனுள்ளதாக இருக்கும்.

Git Reflog-எப்போது பயன்படுத்த வேண்டும்

Git Reflog-ஐ பயன்படுத்தவும்:

இழந்த கமிட்டுகளை மீட்டெடுக்கவும்

இழந்த கமிட்டுகள் அல்லது மாற்றங்களை மீட்டெடுக்கவும்

Reset அல்லது Merge-ஐ இரத்து செய்யவும்

ஒரு reset அல்லது merge-ஐ இரத்து செய்யவும்

வரலாற்றைப் பாருங்கள்

உங்கள் கிளை மற்றும் HEAD-இன் வரலாற்றைப் பாருங்கள்

1

Reflog-ஐக் காட்டு

HEAD மற்றும் கிளைகள் எங்கு சுட்டிக்காட்டியுள்ளன என்பதின் வரலாற்றைப் பார்க்க, பயன்படுத்தவும்:

உதாரணம்

git reflog
e56ba1f (HEAD -> master) HEAD@{0}: commit: Revert "Just a regular update, definitely no accidents here..."
52418f7 HEAD@{1}: commit: Just a regular update, definitely no accidents here...
9a9add8 (origin/master) HEAD@{2}: commit: Added .gitignore
81912ba HEAD@{3}: commit: Corrected spelling error
3fdaa5b HEAD@{4}: merge: Merge pull request #1 from jassifteam-test/update-readme
836e5bf HEAD@{5}: commit: Updated readme for GitHub Branches
...

இது HEAD-இன் சமீபத்திய நிலைகளை பட்டியலிடுகிறது, எனவே நீங்கள் கமிட்டுகள், resets, merges, மற்றும் checkouts போன்ற செயல்களைப் பார்க்கலாம்.

2

இழந்த கமிட்டுகளைக் கண்டுபிடித்து மீட்டெடுக்கவும்

நீங்கள் தற்செயலாக reset செய்தால் அல்லது கமிட்டுகளை நீக்கினால், கமிட்டைக் கண்டுபிடித்து மீட்டமைக்க reflog-ஐப் பயன்படுத்தலாம்.

Reflog-இல் உள்ள ஒவ்வொரு உள்ளீட்டிற்கும் HEAD@{2} போன்ற ஒரு குறிப்பு உள்ளது.

உதாரணம்: Hard Reset-ஐ இரத்து செய்யவும்

git reflog
e56ba1f (HEAD -> master) HEAD@{0}: commit: Revert "Just a regular update, definitely no accidents here..."
52418f7 HEAD@{1}: commit: Just a regular update, definitely no accidents here...
9a9add8 (origin/master) HEAD@{2}: commit: Added .gitignore
81912ba HEAD@{3}: commit: Corrected spelling error
...
git reset --hard HEAD@{2}
HEAD is now at 9a9add8 Added .gitignore

இது அந்த நேரத்தில் இருந்த நிலைக்கு உங்கள் கிளையை மீண்டும் வைக்கிறது.

கமிட் மீட்டெடுக்கப்பட்டது!

Reflog-ஐப் பயன்படுத்தி இழந்த கமிட்டை வெற்றிகரமாக மீட்டெடுத்துள்ளீர்கள்.

3

Reflog-ஐ சுத்தம் செய்யவும்

Reflog தானாகவே Git-ஆல் சுத்தம் செய்யப்படுகிறது, ஆனால் தேவைப்பட்டால் பழைய உள்ளீடுகளை கைமுறையாக காலாவதியாக்கலாம்:

உதாரணம்

git reflog expire --expire=30.days refs/heads/main
git gc --prune=now
Counting objects: 15, done.
Compressing objects: 100% (10/10), done.
Pruning objects

இது main கிளைக்கு 30 நாட்களுக்கு மேலான reflog உள்ளீடுகளை நீக்குகிறது மற்றும் garbage collection-ஐ இயக்குகிறது.

உதவிக்குறிப்புகள் & சிறந்த நடைமுறைகள்

1

தொடர்ந்து பயன்படுத்தவும்

உங்கள் மாற்றங்களைக் கண்காணிக்க வழக்கமாக git reflog பயன்படுத்தவும்.

2

இழந்தவற்றை மீட்டெடுக்கவும்

இழந்த கமிட்டுகள் அல்லது மாற்றங்களை மீட்டெடுக்க git reflog பயன்படுத்தவும்.

3

சுத்தம் செய்யவும்

பழைய உள்ளீடுகளை சுத்தம் செய்ய git reflog expire பயன்படுத்தவும்.

பழுது நீக்குதல்

git reflog-உடன் சிக்கல்கள் எதிர்கொண்டால், முயற்சிக்கவும்:

Git ஆவணங்களைச் சரிபார்க்கவும்

மேலும் தகவலுக்கு Git ஆவணங்களைச் சரிபார்க்கவும்

ஆன்லைனில் தேடவும்

குறிப்பிட்ட சிக்கல்களுக்கான தீர்வுகளை ஆன்லைனில் தேடவும்

உதவி கேளுங்கள்

ஒரு Git நிபுணர் அல்லது சமூகத்திடமிருந்து உதவி கேளுங்கள்

எச்சரிக்கைகள்

⚠️ முக்கியமான எச்சரிக்கை

இழந்த கமிட்டுகள் அல்லது மாற்றங்களை மீட்டெடுக்க git reflog பயன்படுத்தும் போது கவனமாக இருங்கள், ஏனெனில் இது இருக்கும் மாற்றங்களை மேலெழுதக்கூடும்.

விரைவு குறிப்பு

Reflog-ஐக் காட்டு

HEAD வரலாற்றைப் பாருங்கள்

git reflog

கமிட்டை மீட்டெடுக்கவும்

இழந்த கமிட்டை மீட்டெடுக்கவும்

git reset --hard HEAD@{2}

Reflog-ஐ சுத்தம் செய்யவும்

பழைய உள்ளீடுகளை நீக்கவும்

git reflog expire

Garbage Collection

குப்பை சேகரிப்பை இயக்கவும்

git gc --prune=now